package com.bbva.kyfb.jpafo;

import static org.junit.Assert.*;

import java.util.List;
import java.util.Map;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:META-INF/spring/applicationContext-Persistencia-Test.xml"})
public class Tlbh {

	@Autowired
	@Qualifier("jdbcTemplateTLBH")
	JdbcTemplate jdbcTemplate;
	
//	@Autowired
//	EntityManager entityManager;
	
//	@Autowired
	EntityManagerFactory entityManagerFactory;
	
	@SuppressWarnings("unused")
	@Test
	@Ignore
	public void testEM() {
		assertNotNull(entityManagerFactory);
		
		EntityManager entityManager = entityManagerFactory.createEntityManager();
//		entityManager.
		
	}
	
	@Test
//	@Ignore
//	@SuppressWarnings("deprecation")
	public void testEstados() {
		 
		 List<Map<String, Object>> lista = jdbcTemplate.queryForList("SELECT varchar(S.COD_ESTADODS) COD_ESTADODS, varchar(C.COD_ESTACASH) COD_ESTACASH " +
			"FROM TLSB.TTLSBSFO S, TLSB.TTLSBCAB C " +
			"WHERE (S.COD_CLIECASH = C.COD_CLIECASH AND S.COD_CLASEORD = C.COD_CLASEORD " +
			"AND S.COD_IDORDEN = C.COD_IDORDEN) and S.COD_CLASEORD = 'TRA' and S.QNU_NUMITEM=468898710394");
		
		assertTrue("Resultado: ", lista.size()>0);
		
		System.out.println(lista.get(0).get("COD_ESTADODS").toString() + lista.get(0).get("COD_ESTACASH").toString());
		
	}
	
	@Test
	public void testConsultaFichero() {
		
		List<Map<String, Object>> lista = jdbcTemplate.queryForList("SELECT varchar(TIM_FICHERO) TIM_FICHERO FROM TLSB.TTLSBSFO " +
			"WHERE COD_CLASEORD = 'TRA' and QNU_NUMITEM=468898710394");
		
		List<Map<String, Object>> listaFichero = jdbcTemplate.queryForList("SELECT varchar(C.DES_NOMFICH) DES_NOMFICH, varchar(S.DES_ASUNACCE) DES_ASUNACCE " +
				"FROM TLSB.TTLSBSFO S, TLSB.TTLSBCAB C WHERE S.QNU_NUMITEM = 468898710394 " +
				"AND S.TIM_FICHERO = '" + lista.get(0).get("TIM_FICHERO").toString() +  "' AND S.COD_CLIECASH = C.COD_CLIECASH  AND S.COD_CLASEORD = C.COD_CLASEORD  " +
				"AND S.COD_IDORDEN = C.COD_IDORDEN  AND (S.COD_ESTADODS ='PF' OR S.COD_ESTADODS ='FP' OR S.COD_ESTADODS ='PA' " +
				"OR S.COD_ESTADODS ='FF')");
		
		assertTrue("Resultado: ", listaFichero.size()>0);
		
		System.out.println(listaFichero.get(0).get("DES_NOMFICH").toString() + " " + listaFichero.get(0).get("DES_ASUNACCE").toString());
		
	}

}
